The United Kingdom has a publicly funded national health service (NHS) which dates back to the late 1940s. Due to the increase in the UK's population from that time, and significant changes in the population's diet and lifestyle, the NHS is experiencing an increasing amount of strain on its resources. This has resulted in a shortage of family doctors due to problems in recruitment and retention of staff. Other serious staffing problems can be seen with the recruitment and retention of other staff such as nurses, midwives and radiographers. One consequence of the recruitment/retention problem is that overstretched NHS staff are far more likely to make mistakes which lead to litigation and huge sums for damages which the health service has to pay for. Another consequence is that thousands of family doctors have closed their lists to new patients because they can no longer safely increase their workloads. People with minor ailments who are not able to register with a family doctor, or who are not willing or able to wait days for an appointment, are seeking medical attention in hospital accident and emergency departments. This, of course, further increases the burden on overstretched NHS hospitals.
To address the above problems the NHS has developed the free service “NHS Direct Online” (www.nhsdirect.nhs.uk). This service provides access to an online health encyclopaedia and a self-help guide to help diagnose certain symptoms a user may have. The self-help guide asks the user one or more questions to which the answer may be “yes” or “no”, and then provides advice based on the user's answers. For example, the service may advise a user to dial for an ambulance, to call the. NHS direct telephone service to speak to a medically qualified person, to make an appointment with a family doctor, or it may give the user general care advice to deal with their symptoms. Although it can be useful in some circumstances, the NHS direct service does not provide an efficient method for diagnosing a user's symptoms. This is because the service has no prior knowledge of the user (for example, it does not know whether the user is male or female), and it does not provide a user with the capability of giving anything other than “yes/no” answers.
Another solution to the aforementioned problems may be provided by “expert systems”. Expert systems are a class of computer programs developed by researchers in artificial intelligence during the 1970s, and applied commercially throughout the 1980s. Essentially, an expert system is a program which comprises a set of rules that analyse information (usually supplied by an end-user) about a specific set of problems, and to recommend a course of action (i.e. to give expert advice).
An expert system typically comprises two main components: a knowledge base and a reasoning or inferencing engine. The knowledge base contains knowledge which may be represented, for example, both as facts and rules (such systems being known as “rule-based” expert systems). The inference engine of the expert system uses the knowledge in the knowledge base to construct a line of reasoning leading to the solution of the problem. This line of reasoning may be implemented using a tree structure. An example of a binary tree 1 for evaluating a user's symptoms is shown in FIG. 1. The binary tree 1 comprises two sets of hierarchically arranged nodes: a first set 2, 4 and 6 which represents the questions to be answered by the user, and a second set 3, 5 and 7 which represents the possible answers which may be given to those questions. In this example, the user is asked three questions 2, 4 and 6 (“Do you have a headache?”, “Are you taking medication?”, and “Is your vision disturbed?”) to which “yes/no” answers 3, 5 and 7 may be given. It can be seen from this tree 1 that the three questions 2, 4 and 6 lead to eight (i.e. 2k where k=number of questions) possible pathways through the binary tree 1 to give eight possible different question/answer combinations. The different questions/answer combinations can be used to arrive at conclusions 8 about the user's symptoms. In this binary tree 1, three different conclusions 8 may be arrived at. For example, a user who has a headache and disturbed vision, but is not taking medication may have a migraine headache. A user who has a headache, but who is not taking medication and does not have disturbed vision may have a tension headache. Alternatively, a user who has a headache and disturbed vision, and who is also taking medication may be experiencing side-effects of the medication.
An expert system may be built by translating such a decision tree into another suitable format such as a library of IF-THEN rules. The above described tree yields eight such rules. One of these rules is “IF the user has a headache, AND the user is taking medication AND the user has disturbed vision, THEN consider that the user may be experiencing side effects of their medication”. One problem with the binary tree format is the potential size of the tree. As mentioned above, the number of possible pathways through the decision tree is 2k where k is the number of questions in the tree. It is easy to that the size of the tree will be extremely large for a complex medical problem requiring many questions to arrive at a conclusion, and thus will be computationally and programmatically expensive to implement.
Another problem with traditional rule-based expert systems is that it is sometimes difficult to obtain a correct set of rules and/or a decision tree. There are several reasons for this. Firstly, it may take a long time for an expert to provide knowledge to a computer programmer who is building the expert system if the rule is difficult to construct using natural language. Secondly, even though an expert provides the computer programmer with the expert knowledge, it may be difficult for the programmer to fully understand this knowledge and to produce an expert system which gives the correct expert advice. Due to these reasons the use of traditional rule-based expert systems is not as widespread as it was in the 1980s. Another reason why the use of expert systems in general is not very common is that traditional expert systems have narrow knowledge domains. That is, they are usually problem-specific. Furthermore, there are generally three individuals (or groups of individuals) who need to interact with the expert system: 1) the end-user(s) who uses the system for its problem solving/expert advice capability; 2) the problem domain expert(s) who builds the knowledge base; and 3) the knowledge engineer/computer programmer who assists the expert in determining the representation of their knowledge and who defines the inference technique required to obtain useful problem solving activity. It is likely, especially in the medical field, that the problem domain expert(s) will not be able to carry out the knowledge engineering/computer programming function, and vice versa. This means that a relatively large team of people may be required to build such an expert system, which leads to high costs.
An aim of the present invention is therefore to provide a method and system for providing expert advice which overcomes or substantially reduces at least some of the above mentioned problems with existing expert systems.